package com.atg.atgchat.init.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/*
author: atg
time: 2025/1/17 14:28
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedissonLock {

    String prefixKey() default "";
    //  springEl 表达式
    String key();
    //  等待锁的时间，默认-1，不等待直接失败,redisson默认也是-1
    int waitTime() default -1;
    // 等待锁的时间单位，默认毫秒
    TimeUnit unit() default TimeUnit.MILLISECONDS;
}
